function animate(obj, target, callback) {
    // 清除自身原先的定时器，防止多次点击事件导致定时器嵌套定时器
    clearInterval(obj.timer);
    // 给不同的元素指定不同的定时器，便于管理
    obj.timer = setInterval(function () {
        //设置步数
        var step = Math.ceil((target - obj.offsetLeft) / 10);
        //判断方向，取整不一样
       step =  step > 0 ? Math.ceil(step) : Math.floor(step);
        if (obj.offsetLeft == target) {
            clearInterval(obj.timer);
            // 定时器结束后判断是否有回调函数，然后执行
            if (callback) {
                callback();
            }
        } else {
            // 设置减速运动，步长公式
            obj.style.left = obj.offsetLeft + step + 'px';
        }
    }, 30)
}
